﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using The_Chronicles_of_Asku.Characters;
using The_Chronicles_of_Asku.Areas.Resources;

namespace The_Chronicles_of_Asku
{
    class Shop
    {
        public void Store(Hero myHero)
        {
            string answer;
            do
            {
                if (myHero.level >= 1 && myHero.level <= 4)
                {
                    OneToFour(myHero);
                    ClearScreen();
                }
                else if (myHero.level >= 5 && myHero.level <= 9)
                {
                    FiveToNine(myHero);
                    ClearScreen();
                }
                else if (myHero.level >= 10 && myHero.level <= 14)
                {
                    TenToFourteen(myHero);
                    ClearScreen();
                }
                else if (myHero.level >= 15 && myHero.level <= 19)
                {
                    FifteenToNineTeen(myHero);
                    ClearScreen();
                }
                else if (myHero.level >= 20 && myHero.level <= 24)
                {
                    Twenty(myHero);
                    ClearScreen();
                }
                else if (myHero.level >= 25 && myHero.level <= 29)
                {
                    TwentyFive(myHero);
                    ClearScreen();
                }
                else if (myHero.level >= 30 && myHero.level <= 34)
                {
                    Thirty(myHero);
                    ClearScreen();
                }
                else if (myHero.level >= 35 && myHero.level <= 39)
                {
                    ThirtyFive(myHero);
                    ClearScreen();
                }
                else if (myHero.level >= 40 && myHero.level <= 44)
                {
                    Forty(myHero);
                    ClearScreen();
                }
                else if (myHero.level >= 45 && myHero.level <= 49)
                {
                    FortyFive(myHero);
                    ClearScreen();
                }
                else if (myHero.level == 50)
                {
                    Fifty(myHero);
                    ClearScreen();
                }
                Console.WriteLine("Do you want to shop some more today? (1) Yes, (2) No");
                answer = Console.ReadLine();
                Console.Clear();
            } while (answer == "1");
            
        }

        private void OneToFour(Hero myHero)
        {
            Console.WriteLine(@"
1. Armor - 2 Armor - 10 gold
2. Sword - 5 Damage - 10 gold
3. Staff - 5 Magic - 10 gold
4. Amulet - 5 Health - 10 gold
5. Healing Tome - 5 Healing -10 gold");
            DisplayStats(myHero);
            string answer = Console.ReadLine();
            Console.Clear();

            switch (answer)
            {
                case "1":
                    if (myHero.gold >= 10)
                    {
                        myHero.gold -= 10;
                        myHero.armorBonus = 2;
                        myHero.armor += myHero.armorBonus;
                        Console.WriteLine("You bought armor for 10 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "2":
                    if (myHero.gold >= 10)
                    {
                        myHero.gold -= 10;
                        myHero.attackBonus = 5;
                        myHero.maxAttack += myHero.attackBonus;
                        myHero.minAttack += myHero.attackBonus;
                        Console.WriteLine("You bought a sword for 10 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "3":
                    if (myHero.gold >= 10)
                    {
                        myHero.gold -= 10;
                        myHero.magicBonus = 5;
                        myHero.maxMagic += myHero.magicBonus;
                        myHero.baseMinMagic += myHero.magicBonus;
                        Console.WriteLine("You bought a staff for 10 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "4":
                    if (myHero.gold >= 10)
                    {
                        myHero.gold -= 10;
                        myHero.healthBonus = 5;
                        myHero.health += myHero.healthBonus; 
                        myHero.maxHealth += myHero.healthBonus;
                        Console.WriteLine("You bought an amulet for 10 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "5":
                    if (myHero.gold >= 10)
                    {
                        myHero.gold -= 10;
                        myHero.healBonus = 5;
                        myHero.maxHeal += myHero.healBonus;
                        myHero.minHeal += myHero.healBonus;
                        Console.WriteLine("You bought a healing tome for 10 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
            }
            
        }

        private void FiveToNine(Hero myHero)
        {
            Console.WriteLine(@"
1. Armor - 4 Armor - 20 gold
2. Sword - 10 Damage - 20 gold
3. Staff - 10 Magic - 20 gold
4. Amulet - 10 Health -20 gold
5. Healing Tome - 10 Healing -20 gold");
            DisplayStats(myHero);
            string answer = Console.ReadLine();
            Console.Clear();

            switch (answer)
            {
                case "1":
                    if (myHero.gold >= 20)
                    {
                        myHero.gold -= 20;
                        myHero.armorBonus = 5;
                        myHero.armor += myHero.armorBonus;
                        Console.WriteLine("You bought armor for 20 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "2":
                    if (myHero.gold >= 20)
                    {
                        myHero.gold -= 20;
                        myHero.attackBonus = 10;
                        myHero.maxAttack += myHero.attackBonus;
                        myHero.minAttack += myHero.attackBonus;
                        Console.WriteLine("You bought a sword for 20 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "3":
                    if (myHero.gold >= 20)
                    {
                        myHero.gold -= 20;
                        myHero.magicBonus = 10;
                        myHero.maxMagic += myHero.magicBonus;
                        myHero.baseMinMagic += myHero.magicBonus;
                        Console.WriteLine("You bought a staff for 20 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "4":
                    if (myHero.gold >= 20)
                    {
                        myHero.gold -= 20;
                        myHero.healthBonus = 10;
                        myHero.health += myHero.healthBonus; 
                        myHero.maxHealth += myHero.healthBonus;
                        Console.WriteLine("You bought an amulet for 20 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "5":
                    if (myHero.gold >= 20)
                    {
                        myHero.gold -= 20;
                        myHero.healBonus = 10;
                        myHero.maxHeal += myHero.healBonus;
                        myHero.minHeal += myHero.healBonus;
                        Console.WriteLine("You bought a healing tome for 20 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
            }
        }

        private void TenToFourteen(Hero myHero)
        {
            Console.WriteLine(@"
1. Armor - 8 Armor - 40 gold
2. Sword - 15 Damage - 40 gold
3. Staff - 15 Magic - 40 gold
4. Amulet - 35 Health - 40 gold
5. Healing Tome - 30 Healing - 40 gold");
            DisplayStats(myHero);
            string answer = Console.ReadLine();
            Console.Clear();

            switch (answer)
            {
                case "1":
                    if (myHero.gold >= 40)
                    {
                        myHero.gold -= 40;
                        myHero.armorBonus = 8;
                        myHero.armor += myHero.armorBonus;
                        Console.WriteLine("You bought armor for 40 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "2":
                    if (myHero.gold >= 40)
                    {
                        myHero.gold -= 40;
                        myHero.attackBonus = 15;
                        myHero.maxAttack += myHero.attackBonus;
                        myHero.minAttack += myHero.attackBonus;
                        Console.WriteLine("You bought a sword for 40 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "3":
                    if (myHero.gold >= 40)
                    {
                        myHero.gold -= 40;
                        myHero.magicBonus = 15;
                        myHero.maxMagic += myHero.magicBonus;
                        myHero.baseMinMagic += myHero.magicBonus;
                        Console.WriteLine("You bought a staff for 40 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "4":
                    if (myHero.gold >= 40)
                    {
                        myHero.gold -= 40;
                        myHero.healthBonus = 30;
                        myHero.health += myHero.healthBonus; 
                        myHero.maxHealth += myHero.healthBonus;
                        Console.WriteLine("You bought an amulet for 40 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "5":
                    if (myHero.gold >= 40)
                    {
                        myHero.gold -= 40;
                        myHero.healBonus = 35;
                        myHero.maxHeal += myHero.healBonus;
                        myHero.minHeal += myHero.healBonus;
                        Console.WriteLine("You bought a healing tome for 40 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }

                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
            }
        }

        private void FifteenToNineTeen(Hero myHero)
        {
            Console.WriteLine(@"
1. Armor - 14 Armor -100 gold
2. Sword - 45 Damage -100 gold
3. Staff - 45 Magic -100 gold
4. Amulet - 45 Health -100 gold
5. Healing Tome - 45 Healing -100 gold");
            DisplayStats(myHero);
            string answer = Console.ReadLine();
            Console.Clear();

            switch (answer)
            {
                case "1":
                    if (myHero.gold >= 100)
                    {
                        myHero.gold -= 100;
                        myHero.armorBonus = 14;
                        myHero.armor += myHero.armorBonus;
                        Console.WriteLine("You bought armor for 100 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "2":
                    if (myHero.gold >= 100)
                    {
                        myHero.gold -= 100;
                        myHero.attackBonus = 45;
                        myHero.maxAttack += myHero.attackBonus;
                        myHero.minAttack += myHero.attackBonus;
                        Console.WriteLine("You bought a sword for 100 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "3":
                    if (myHero.gold >= 100)
                    {
                        myHero.gold -= 100;
                        myHero.magicBonus = 45;
                        myHero.maxMagic += myHero.magicBonus;
                        myHero.baseMinMagic += myHero.magicBonus;
                        Console.WriteLine("You bought a staff for 100 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "4":
                    if (myHero.gold >= 100)
                    {
                        myHero.gold -= 100;
                        myHero.healthBonus = 45;
                        myHero.health += myHero.healthBonus; 
                        myHero.maxHealth += myHero.healthBonus;
                        Console.WriteLine("You bought an amulet for 100 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "5":
                    if (myHero.gold >= 100)
                    {
                        myHero.gold -= 100;
                        myHero.healBonus = 45;
                        myHero.maxHeal += myHero.healBonus;
                        myHero.minHeal += myHero.healBonus;
                        Console.WriteLine("You bought a healing tome for 100 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
            }
        }

        private void Twenty(Hero myHero)
        {
            Console.WriteLine(@"
1. Armor - 20 Armor -500 gold
2. Sword - 100 Damage -500 gold
3. Staff - 100 Magic -500 gold
4. Amulet - 100 Health -500 gold
5. Healing Tome - 100 Healing -500 gold");
            DisplayStats(myHero);
            string answer = Console.ReadLine();
            Console.Clear();

            switch (answer)
            {
                case "1":
                    if (myHero.gold >= 500)
                    {
                        myHero.gold -= 500;
                        myHero.armorBonus = 20;
                        myHero.armor += myHero.armorBonus;
                        Console.WriteLine("You bought armor for 500 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "2":
                    if (myHero.gold >= 500)
                    {
                        myHero.gold -= 500;
                        myHero.attackBonus = 100;
                        myHero.maxAttack += myHero.attackBonus;
                        myHero.minAttack += myHero.attackBonus;
                        Console.WriteLine("You bought a sword for 500 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "3":
                    if (myHero.gold >= 500)
                    {
                        myHero.gold -= 500;
                        myHero.magicBonus = 100;
                        myHero.maxMagic += myHero.magicBonus;
                        myHero.baseMinMagic += myHero.magicBonus;
                        Console.WriteLine("You bought a staff for 500 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "4":
                    if (myHero.gold >= 500)
                    {
                        myHero.gold -= 500;
                        myHero.healthBonus = 100;
                        myHero.health += myHero.healthBonus; 
                        myHero.maxHealth += myHero.healthBonus;
                        Console.WriteLine("You bought an amulet for 500 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "5":
                    if (myHero.gold >= 500)
                    {
                        myHero.gold -= 500;
                        myHero.healBonus = 100;
                        myHero.maxHeal += myHero.healBonus;
                        myHero.minHeal += myHero.healBonus;
                        Console.WriteLine("You bought a healing tome for 500 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
            }
        }

        private void TwentyFive(Hero myHero)
        {
            Console.WriteLine(@"
1. Armor - 30 Armor -1500 gold
2. Sword - 150 Damage -1500 gold
3. Staff - 150 Magic -1500 gold
4. Amulet - 150 Health -1500 gold
5. Healing Tome - 150 Healing -1500 gold");
            DisplayStats(myHero);
            string answer = Console.ReadLine();
            Console.Clear();

            switch (answer)
            {
                case "1":
                    if (myHero.gold >= 1500)
                    {
                        myHero.gold -= 1500;
                        myHero.armorBonus = 30;
                        myHero.armor += myHero.armorBonus;
                        Console.WriteLine("You bought armor for 1500 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "2":
                    if (myHero.gold >= 1500)
                    {
                        myHero.gold -= 1500;
                        myHero.attackBonus = 150;
                        myHero.maxAttack += myHero.attackBonus;
                        myHero.minAttack += myHero.attackBonus;
                        Console.WriteLine("You bought a sword for 1500 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "3":
                    if (myHero.gold >= 1500)
                    {
                        myHero.gold -= 1500;
                        myHero.magicBonus = 150;
                        myHero.maxMagic += myHero.magicBonus;
                        myHero.baseMinMagic += myHero.magicBonus;
                        Console.WriteLine("You bought a staff for 1500 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "4":
                    if (myHero.gold >= 1500)
                    {
                        myHero.gold -= 1500;
                        myHero.healthBonus = 150;
                        myHero.health += myHero.healthBonus; 
                        myHero.maxHealth += myHero.healthBonus;
                        Console.WriteLine("You bought an amulet for 1500 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "5":
                    if (myHero.gold >= 1500)
                    {
                        myHero.gold -= 1500;
                        myHero.healBonus = 150;
                        myHero.maxHeal += myHero.healBonus;
                        myHero.minHeal += myHero.healBonus;
                        Console.WriteLine("You bought a healing tome for 1500 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
            }
        }

        private void Thirty(Hero myHero)
        {
            Console.WriteLine(@"
1. Armor - 40 Armor -4000 gold
2. Sword - 200 Damage -4000 gold
3. Staff - 200 Magic -4000 gold
4. Amulet - 200 Health -4000 gold
5. Healing Tome - 200 Healing -4000 gold");
            DisplayStats(myHero);
            string answer = Console.ReadLine();
            Console.Clear();

            switch (answer)
            {
                case "1":
                    if (myHero.gold >= 4000)
                    {
                        myHero.gold -= 4000;
                        myHero.armorBonus = 40;
                        myHero.armor += myHero.armorBonus;
                        Console.WriteLine("You bought armor for 4000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "2":
                    if (myHero.gold >= 4000)
                    {
                        myHero.gold -= 4000;
                        myHero.attackBonus = 200;
                        myHero.maxAttack += myHero.attackBonus;
                        myHero.minAttack += myHero.attackBonus;
                        Console.WriteLine("You bought a sword for 4000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "3":
                    if (myHero.gold >= 4000)
                    {
                        myHero.gold -= 4000;
                        myHero.magicBonus = 200;
                        myHero.maxMagic += myHero.magicBonus;
                        myHero.baseMinMagic += myHero.magicBonus;
                        Console.WriteLine("You bought a staff for 4000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "4":
                    if (myHero.gold >= 4000)
                    {
                        myHero.gold -= 4000;
                        myHero.healthBonus = 200;
                        myHero.health += myHero.healthBonus; 
                        myHero.maxHealth += myHero.healthBonus;
                        Console.WriteLine("You bought an amulet for 4000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "5":
                    if (myHero.gold >= 4000)
                    {
                        myHero.gold -= 4000;
                        myHero.healBonus = 200;
                        myHero.maxHeal += myHero.healBonus;
                        myHero.minHeal += myHero.healBonus;
                        Console.WriteLine("You bought a healing tome for 4000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
            }
        }

        private void ThirtyFive(Hero myHero)
        {
            Console.WriteLine(@"
1. Armor - 60 Armor -8000 gold
2. Sword - 300 Damage -8000 gold
3. Staff - 300 Magic -8000 gold
4. Amulet - 300 Health -8000 gold
5. Healing Tome - 300 Healing -8000 gold");
            DisplayStats(myHero);
            string answer = Console.ReadLine();
            Console.Clear();

            switch (answer)
            {
                case "1":
                    if (myHero.gold >= 8000)
                    {
                        myHero.gold -= 8000;
                        myHero.armorBonus = 60;
                        myHero.armor += myHero.armorBonus;
                        Console.WriteLine("You bought armor for 8000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "2":
                    if (myHero.gold >= 8000)
                    {
                        myHero.gold -= 8000;
                        myHero.attackBonus = 300;
                        myHero.maxAttack += myHero.attackBonus;
                        myHero.minAttack += myHero.attackBonus;
                        Console.WriteLine("You bought a sword for 8000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "3":
                    if (myHero.gold >= 8000)
                    {
                        myHero.gold -= 8000;
                        myHero.magicBonus = 300;
                        myHero.maxMagic += myHero.magicBonus;
                        myHero.baseMinMagic += myHero.magicBonus;
                        Console.WriteLine("You bought a staff for 8000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "4":
                    if (myHero.gold >= 8000)
                    {
                        myHero.gold -= 8000;
                        myHero.healthBonus = 300;
                        myHero.health += myHero.healthBonus; 
                        myHero.maxHealth += myHero.healthBonus;
                        Console.WriteLine("You bought an amulet for 8000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "5":
                    if (myHero.gold >= 8000)
                    {
                        myHero.gold -= 8000;
                        myHero.healBonus = 300;
                        myHero.maxHeal += myHero.healBonus;
                        myHero.minHeal += myHero.healBonus;
                        Console.WriteLine("You bought a healing tome for 8000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
            }
        }

        private void Forty(Hero myHero)
        {
            Console.WriteLine(@"
1. Armor - 80 Armor -10000 gold
2. Sword - 400 Damage -10000 gold
3. Staff - 400 Magic -10000 gold
4. Amulet - 400 Health -10000 gold
5. Healing Tome - 400 Healing -10000 gold");
            DisplayStats(myHero);
            string answer = Console.ReadLine();
            Console.Clear();

            switch (answer)
            {
                case "1":
                    if (myHero.gold >= 10000)
                    {
                        myHero.gold -= 10000;
                        myHero.armorBonus = 80;
                        myHero.armor += myHero.armorBonus;
                        Console.WriteLine("You bought armor for 10000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "2":
                    if (myHero.gold >= 10000)
                    {
                        myHero.gold -= 10000;
                        myHero.attackBonus = 400;
                        myHero.maxAttack += myHero.attackBonus;
                        myHero.minAttack += myHero.attackBonus;
                        Console.WriteLine("You bought a sword for 10000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "3":
                    if (myHero.gold >= 10000)
                    {
                        myHero.gold -= 10000;
                        myHero.magicBonus = 400;
                        myHero.maxMagic += myHero.magicBonus;
                        myHero.baseMinMagic += myHero.magicBonus;
                        Console.WriteLine("You bought a staff for 10000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "4":
                    if (myHero.gold >= 10000)
                    {
                        myHero.gold -= 10000;
                        myHero.healthBonus = 400;
                        myHero.health += myHero.healthBonus; 
                        myHero.maxHealth += myHero.healthBonus;
                        Console.WriteLine("You bought an amulet for 10000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "5":
                    if (myHero.gold >= 10000)
                    {
                        myHero.gold -= 10000;
                        myHero.healBonus = 400;
                        myHero.maxHeal += myHero.healBonus;
                        myHero.minHeal += myHero.healBonus;
                        Console.WriteLine("You bought a healing tome for 10000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
            }
        }

        private void FortyFive(Hero myHero)
        {
            Console.WriteLine(@"
1. Armor - 100 Armor -25000 gold
2. Sword - 500 Damage -25000 gold
3. Staff - 500 Magic -25000 gold
4. Amulet - 500 Health -25000 gold
5. Healing Tome - 500 Healing -25000 gold");
            DisplayStats(myHero);
            string answer = Console.ReadLine();
            Console.Clear();

            switch (answer)
            {
                case "1":
                    if (myHero.gold >= 25000)
                    {
                        myHero.gold -= 25000;
                        myHero.armorBonus = 100;
                        myHero.armor += myHero.armorBonus;
                        Console.WriteLine("You bought armor for 25000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "2":
                    if (myHero.gold >= 25000)
                    {
                        myHero.gold -= 25000;
                        myHero.attackBonus = 500;
                        myHero.maxAttack += myHero.attackBonus;
                        myHero.minAttack += myHero.attackBonus;
                        Console.WriteLine("You bought a sword for 25000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "3":
                    if (myHero.gold >= 25000)
                    {
                        myHero.gold -= 25000;
                        myHero.magicBonus = 500;
                        myHero.maxMagic += myHero.magicBonus;
                        myHero.baseMinMagic += myHero.magicBonus;
                        Console.WriteLine("You bought a staff for 25000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "4":
                    if (myHero.gold >= 25000)
                    {
                        myHero.gold -= 25000;
                        myHero.healthBonus = 500;
                        myHero.health += myHero.healthBonus; 
                        myHero.maxHealth += myHero.healthBonus;
                        Console.WriteLine("You bought an amulet for 25000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "5":
                    if (myHero.gold >= 25000)
                    {
                        myHero.gold -= 25000;
                        myHero.healBonus = 500;
                        myHero.maxHeal += myHero.healBonus;
                        myHero.minHeal += myHero.healBonus;
                        Console.WriteLine("You bought a healing tome for 25000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
            }
        }

        private void Fifty(Hero myHero)
        {
            Console.WriteLine(@"
1. Armor - 1000 Armor -50000 gold
2. Sword - 3000 Damage -50000 gold
3. Staff - 3000 Magic -50000 gold
4. Amulet - 3000 Health -50000 gold
5. Healing Tome - 3000 Healing -50000 gold");
            DisplayStats(myHero);
            string answer = Console.ReadLine();
            Console.Clear();

            switch (answer)
            {
                case "1":
                    if (myHero.gold >= 50000)
                    {
                        myHero.gold -= 50000;
                        myHero.armorBonus = 1000;
                        myHero.armor += myHero.armorBonus;
                        Console.WriteLine("You bought armor for 50000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "2":
                    if (myHero.gold >= 50000)
                    {
                        myHero.gold -= 50000;
                        myHero.attackBonus = 3000;
                        myHero.maxAttack += myHero.attackBonus;
                        myHero.minAttack += myHero.attackBonus;
                        Console.WriteLine("You bought a sword for 50000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "3":
                    if (myHero.gold >= 50000)
                    {
                        myHero.gold -= 50000;
                        myHero.magicBonus = 3000;
                        myHero.maxMagic += myHero.magicBonus;
                        myHero.baseMinMagic += myHero.magicBonus;
                        Console.WriteLine("You bought a staff for 50000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "4":
                    if (myHero.gold >= 50000)
                    {
                        myHero.gold -= 50000;
                        myHero.healthBonus = 3000;
                        myHero.health += myHero.healthBonus; 
                        myHero.maxHealth += myHero.healthBonus;
                        Console.WriteLine("You bought an amulet for 50000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
                case "5":
                    if (myHero.gold >= 50000)
                    {
                        myHero.gold -= 50000;
                        myHero.healBonus = 3000;
                        myHero.maxHeal += myHero.healBonus;
                        myHero.minHeal += myHero.healBonus;
                        Console.WriteLine("You bought a healing tome for 50000 gold, you now have {0} gold left", myHero.gold);
                        //ClearScreen();
                    }
                    else
                    {
                        Console.WriteLine("You don not have enough money for this.");
                    }
                    break;
            }
        }

        public void DisplayStats(Hero myHero)
        {
            Console.WriteLine(@"
*************************************************************************
Name:           Level:          Health:           Attack Range:    
-------------------------------------------------------------------------
{0}             {1}             {2}               {3}-{4}
*************************************************************************
*************************************************************************
Magic Range:         Heal Range:          Armor:         Gold:      
-------------------------------------------------------------------------
{5}-{6}                  {7}-{8}              {9}             {10}
*************************************************************************
*************************************************************************
Magic Bonus:       Heal Bonus:          Armor Bonus:       Health Bonus:      
-------------------------------------------------------------------------
{11}                       {12}                  {13}             {14}
*************************************************************************
*************************************************************************
Attack Bonus:      Death Count:         Survival Count:
-------------------------------------------------------------------------
{15}                       {16}                   {17}
*************************************************************************", myHero.Identifier, myHero.level, myHero.health, myHero.minAttack, myHero.maxAttack, myHero.minMagic, myHero.maxMagic, myHero.minHeal, myHero.maxHeal, myHero.armor, myHero.gold, myHero.magicBonus, myHero.healBonus, myHero.armorBonus, myHero.healthBonus, myHero.attackBonus, myHero.deathCount, myHero.highestSurvival);
        }

        private void ClearScreen()
        {
            Console.ReadKey();
            Console.Clear();
        }
    }
}
